1. Field of the Invention
The present invention relates to integrated circuit (IC) output driver circuits, and more particularly to a method and apparatus for adjusting the impedance of an output driver circuit to compensate for process variations across an IC.
2. Description of the Related Art
In earlier integrated circuit (IC) designs, CMOS output drivers were configured as push-pull elements. Consequently, the noise seen on an output bus fluctuated significantly in response to various factors, including circuit temperature, supply voltage, fabrication process differences, the number of devices on the bus, etc. In more recent years, as technological advances have resulted in the scaling of device size and voltage levels, designers have been forced to aggressively address noise problems on external buses in order to maximize the operating speed of circuits within a system. A bus typically includes one or more signal lines collectively routed on a system board or the like, where each signal line can be modeled as a transmission line subject to noise (e.g., reflections, cross-talk, etc.).
One aspect of more recent output driver solutions has been a move in the industry from push-pull output configurations to differential receiver configurations. In a differential receiver configuration, one side of a differential receiver is supplied with a reference voltage and the other side is driven by an open drain N-channel device. The open drain N-channel devices are provided on-chip and bus pull-up terminations are generally provided externally, typically on a system motherboard or the like. Providing pull-up terminations on a motherboard grants system designers a level of flexibility to address bus noise problems that has heretofore been unavailable.
The aforementioned types of output drivers have become prevalent within the industry. One particular example of this prevalence is exhibited by the Pentium® II x86 microprocessor, a product of Intel® Corporation. The Pentium II employs open drain N-channel output devices to drive a 1.5 Volt (V) bus having a 1.0 V reference threshold. Motherboards for this processor generally employ 56 ohm pull-up terminations. Although no particular pull down impedance has been specified, open drain output drivers have been used to comply with bus switching and timing specifications. Without compensating for process, voltage, and temperature variations, however, the channel resistance of an open drain N-channel output driver can vary anywhere from approximately 4 to approximately 80 ohms. And since microprocessor designers can only anticipate acceptable limits for process, voltage, and temperature fluctuations, they have been compelled in Pentium II motherboard-compatible designs to add slew rate controls on the order of 2-3 nanoseconds (ns) to output signal edges to reduce noise on output buses.
With the Pentium III®, Intel introduced a means whereby designers are provided with a reference impedance that can be used to set the impedance of the output drivers on the bus. A pin on the processor package, referred to as NCHCTRL, is connected to the bus voltage, referred to as VTT, through a precision 14 ohm resistor, with a maximum specified resistance of 16 ohms. The precision resistor is external to the microprocessor chip and is therefore independent of the temperature and voltage variations seen by output drivers on the chip. Thus, the external resistor is used as a reference for setting the pull-down impedance of open drain N-channel output drivers.
In addition, pull-up terminations for compatible configurations are to be provided on-chip rather than on the motherboard of a system. For the pull-up terminations, another pin referred to as RTT is provided, to which a precision resistor, R, may be connected between the pin and ground. The impedance across the precision resistor indicates the desired impedance for all pull-up terminations. Hence, a system designer is able to set the bus pull-up impedance for all of the signals on a part through one external resistor. By specification, the resistor can range from 40 to 130 ohms, thus enabling system designers to adjust the pull-up terminations on N-channel open drain buses to compensate for noise.
The related co-pending U.S. Patent Applications describe apparatus and methods for precisely controlling the pull-up or pull-down impedances of N-channel open drain bus signals. Exemplary embodiments of the inventions therein employ binary arrays of N- or P-channel devices as the termination elements. The number of devices that are turned on are determined by a replica binary array that is local to logic that monitors the reference impedances. If, however, there are process variations across a die that result in significant differences between the replica binary array and the output drivers or pull-up devices, then the number of devices that is determined for the reference array may not be a true optimum for the output arrays.